/////////////////////////
// File: camera_array_calibration.h
// Authors: Brian Fehrman and Scott Logan and Matt Richard
// Date: 3-27-2013
// 
// Purpose: Header file for the camera_array_calibartion functions
//       which are used for calibrating the cameras
//
/////////////////////////

#ifndef _CAMERA_ARRAY_CALIBRATION_H_
#define _CAMERA_ARRAY_CALIBRATION_H_

////////// Includes //////////////
#include "camera_settings.h"
#include <opencv2/core/core.hpp>
#include <opencv2/calib3d/calib3d.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <sstream>
#include <iostream>
#include <vector>
#include <sys/stat.h>
#include <time.h>

////////// Usings ///////////////
using namespace cv;
using namespace std;

////////// Constants ////////////

////////// Prototypes //////////
int calibrate( FileNode fs );
int capture_images( FileNode fs );
int find_corners( string img_base, string img_suf, Size board_size,
                     vector< vector< Point2f > > &all_corners, 
                     vector<Mat> &image_set );
                     
void test_display();

#endif
